package com.eleadmin.common.system.entity;


import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
import java.util.Date;


import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 订单表
 *
 * @author EleAdmin
 * @since 2025-04-22 22:55:28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "Order对象", description = "订单表")
@TableName("t_order")
public class Order implements Serializable {
    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "物品名称")
    private String name;

    @ApiModelProperty(value = "描述")
    private String description;

    @ApiModelProperty(value = "物品图片")
    private String img;

    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    @ApiModelProperty(value = "物品类型")
    private String type;
    
    @ApiModelProperty(value = "任务类型")
    private String taskType;
    
    @ApiModelProperty(value = "任务类型")
    @TableField(exist = false)
    private String taskTypeName;

    @ApiModelProperty(value = "物品重量")
    private Double weight;

    @ApiModelProperty(value = "小费")
    private Double price;

    @ApiModelProperty(value = "发起人")
    private Integer userId;

    @ApiModelProperty(value = "发起人姓名")
    @TableField(exist = false)
    private String userName;

    @ApiModelProperty(value = "接单人")
    private Integer acceptId;

    @ApiModelProperty(value = "接单人对象")
    @TableField(exist = false)
    private User acceptUser;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "接单时间")
    private Date acceptTime;

    @ApiModelProperty(value = "订单状态")
    //待接单，待送达，待收货，待评价，已完成，已取消

    private String status;

    @ApiModelProperty(value = "订单备注")
    private String comment;

    @ApiModelProperty(value = "发起人联系信息")
    private Integer addressId;

    @ApiModelProperty(value = "到达处联系信息")
    private Integer targetId;
    
    @ApiModelProperty(value = "到达处联系信息")
    private Integer isCollect;


}
